1. Field of the Invention
The present invention relates to an image processing apparatus and an image processing method in which input image data based on n dimensional color space is converted to output image data based on m dimensional color space.
2. Description of Related Art
Generally, a color of input data from an input device is determined by a color space dependent on the input device, and a color converting process is performed in an output device such as a printer, etc. so that the input data corresponds to a color space of the output device. The color converting process is performed by using a converting table (LUT) in which an output data value after the color conversion is set at a lattice point. In the lattice, the color space of the input data is divided at even intervals. In between the lattice points, the output data values are determined by an interpolating operation (for example, see Japanese Patent Application Laid-Open Publication No. 2005-175917 and Japanese Patent Application Laid-Open Publication No. 2006-33245).
Some of the reasons why the interpolating operation is performed are for example, that when the output data values corresponding to all of the input data values are to be ensured, a memory having a very large capacity is required resulting in a costing problem, and that it is hardly practical due to the control issue. For example, in order to ensure all of the output data values of CMYK color space with 8 bits and 256 tones corresponding to input data values of RGB color space with 8 bits and 256 tones, it is required to ensure and manage data of 2563 (colors)×8 (bits)×4 (colors)=64 (megabytes).
Therefore, only the representative lattice points are arranged, and the values in between the lattice points are output by performing the interpolating operation. For example, when there are 33 lattice points arranged, the sufficient data capacity is 333 (colors)×8 (bits)×4 (colors)≈0.14 (megabytes).
Conventionally, an interpolating operation method has been adopted in which the lattice points surrounding an interpolating operation point corresponding to the input data in the LUT are detected, and interpolating data which interpolates between the lattice points is calculated by using the output data values, i.e. lattice point data, which are determined for those lattice points.
For example, as shown in FIG. 8, cubic space which is a minimum unit configured with lattice points (i.e. Q0 to Q7) is further divided into 4 tetrahedral spaces with an apex of Q2. Then, the tetrahedral space in which the interpolating operation point (as indicated in a white circle in FIG. 8) corresponding to the input data is included is obtained, and the lattice point data of the lattice point configuring the apex of the tetrahedral space is used for the interpolating operation. In addition to this, there is also a method of dividing the minimum unit into not tetrahedral space but cubic space. In this manner, in the conventional method, the accuracy of the interpolating operation is improved by making the space domain surrounded by the lattice points (hereinafter referred to as lattice space) as small as possible, and obtaining the lattice points close to the interpolating operation point.
However, lattice point data other than that of an apex which configures lattice space is not taken into account in any of the interpolating operation methods. Therefore, when the values vary precipitously in between the adjacent lattice points, the continuity of the output data values in the adjacent lattice spaces cannot be ensured.
In this respect, in the above mentioned Japanese Patent Application Laid-Open Publication No. 2005-175917 and Japanese Patent Application Laid-Open Publication No. 2006-33245, the continuity of the output data values is to be ensured by performing a smoothing processing to each of the lattice point data. However, in this method, the lattice point data which was initially obtained in a colorimetric and logical manner, is to be intentionally modified, and the accuracy of color conversion itself is degraded.